// stores/userStore.ts
import {defineStore} from 'pinia';
import {ref} from 'vue'

// export const useUserStore = defineStore('user', {
//     state: () =>( {
//         userModalVisible: false,
//         userInfoForm:{}
//     }),
//     actions: {
//         // 打开用户修改模态框
//         openModal(user) {
//             this.setInfoForm(user)
//             this.userModalVisible = true;
//         },
//         closeModal() {
//             this.userInfoForm={}
//             this.userModalVisible = false;
//         },
//         setInfoForm(user) {
//             if (!user) {
//                 this.userInfoForm = {}
//                 return
//             }
//             const initInfoForm = {
//                 id: '',
//                 userCode:'',
//                 userName: '',
//                 sex:0
//             }
//             // 为this.userInfoForm赋值
//             Object.keys(initInfoForm).forEach(key => {
//                 if(user.hasOwnProperty(key)){
//                     this.userInfoForm[key] = user[key]
//                 }
//             })
//         },
//     }
// });
export const useUserStore = defineStore('user', () => {
    const userModalVisible = ref(false)
    let userInfoForm = ref({})

    function openModal(user) {
        setInfoForm(user)
        userModalVisible.value = true;
    }

    function closeModal() {
        userInfoForm.value = {}
        userModalVisible.value = false;
    }

    function setInfoForm(user) {
        if (!user) {
            userInfoForm.value = {}
            return
        }
        const initInfoForm = {
            id: '',
            userCode: '',
            userName: '',
            sex: 0
        }
        // 为this.userInfoForm赋值
        Object.keys(initInfoForm).forEach(key => {
            if (user.hasOwnProperty(key)) {
                userInfoForm.value[key] = user[key]
            }
        })
    }

    return {
        userModalVisible,
        userInfoForm,
        openModal,
        closeModal
    }
});